Generally, microcontrollers are configured to be capable of updating the microcodes and programming the hardware peripherals, with possible periods of interruption to operation of the microcontroller, commonly known to the person skilled in the art as “downtime”.
In order to update a microcode in such a microcontroller, at the present time it is generally necessary either to proceed with a reboot of the microcontroller at the end of the update, or to proceed with an interruption to possible hardware peripheral programming during the microcode update, thereby in any case introducing additional downtime of the microcontroller.
Reprogramming of hardware peripherals of the microcontroller at the end of the update, without a reboot of the microcontroller, can be achieved through software but creates a permanent increase in the operational load of the microcontroller and a considerably increased real-time latency.
Moreover, such reprogramming additionally increases the complexity of the software as well as the downtime of the microcontroller.